package com.college.products.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.college.common.pojo.ao.Cart;
import com.college.common.pojo.dto.products.AddCartDTO;
import com.college.common.pojo.dto.products.QueryCartDTO;
import com.college.common.pojo.dto.products.UpdateCartDTO;
import com.college.common.pojo.model.page.PageParamRequest;
import com.college.common.response.CommonResult;

import java.util.List;

/**
 * 购物车 服务类
 * @author 小C工作室
 * @since 2025-02-22
 */
public interface CartService extends IService<Cart> {

    /**
     * 获取购物车集合
     *
     * @param queryCartDTO 查询对象
     * @return 购物车集合
     */
    List<Cart> queryList(QueryCartDTO queryCartDTO);

    /**
     * 获取购物车集合分页
     *
     * @param queryCartDTO 查询对象
     * @param pageParamRequest 分页对象
     * @return 购物车集合
     */
    List<Cart> queryListPage(QueryCartDTO queryCartDTO, PageParamRequest pageParamRequest);

    /**
     * 新增购物车
     *
     * @param addCartDTO 新增购物车对象
     * @return 是否成功
     */
    CommonResult<String> addCart(AddCartDTO addCartDTO);

    /**
     * 更新购物车
     *
     * @param updateCartDTO 更新购物车对象
     * @return 是否成功
     */
    CommonResult<String> updateCart(UpdateCartDTO updateCartDTO);
}
